package leetcode100;

import java.util.Scanner;

/**
 * @author shkstart
 * 正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值，设计一个算法，求输入A和B的最小公倍数。
 *
 * 数据范围：1≤a,b≤100000
 * 输入描述：
 * 输入两个正整数A和B。
 *
 * 输出描述：
 * 输出A和B的最小公倍数。
 * @create 2022-11-27-20:50
 */
public class Meme8_2 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int a= scanner.nextInt();
        int b = scanner.nextInt();
        int mn = test(a,b);
        System.out.println(a * b / mn);
    }

//    更相减损术
    /*
    用大数 - 小数 ，差 和 小数相比，不相等时，
    小数作为被减数，差作为减数，继续相减
    知道差和减数（小数）相等，这时 减数就是最大公约数

     */
    private static int test(int a, int b) {

        while(true){
            if(a > b){
                a = a - b;
            }else if( b > a){
                b = b -a ;
            }else{
              //此时a =b
              return a;
            }
        }

    }

    /***
     * 辗转相除
     * ①当两个数相等时，其中任意一个就是它们的最大公约数，因为它们的余数为0；
     * ②当两个数不相等时，用较大数除以较小数，当余数不为0时，这时
     * 使较小数作为被除数，余数作为除数，继续 ②的操作，直至余数为0,
     * 此时的小数就是最大公约数
     */

//    private static int test(int a, int b) {
//        if(a==b){
//            return a;
//        }else if(a < b) {
//            int temp = a;
//            a = b;
//            b = temp;
//        }
//        int r = 0;
//        while((r = a % b) != 0){
//            a = b;
//            b= r;
//        }
//        return a;
//
//    }
}
